knitr::opts_chunk$set(echo = TRUE)

cmdstanr::set_cmdstan_path(path = "C:/Users/kueng/.cmdstan/cmdstan-2.35.0")

library(tidyverse)
library(R.utils)
library(wbCorr)
library(readxl)
library(kableExtra)
library(brms)
library(bayesplot)
library(see)
library(beepr)
library(DHARMa)
library(digest)



source(file.path('Functions', 'ReportModels.R'))
source(file.path('Functions', 'PrettyTables.R'))
source(file.path('Functions', 'ReportMeasures.R'))
source(file.path('Functions', 'PrepareData.R'))

report_function_hash <- digest::digest(summarize_brms)
system("shutdown /a")
## [1] 1116
# Set options for analysis
use_mi = FALSE
shutdown = FALSE
report_ordinal = FALSE
report_hurdle = TRUE
do_priorsense = FALSE

options(
  dplyr.print_max = 100, 
  brms.backend = 'cmdstan',
  brms.file_refit = ifelse(use_mi, 'never', 'on_change'),
  brms.file_refit = 'on_change',
  #brms.file_refit = 'always',
  error = function() {
    beepr::beep(sound = 5)
    if (shutdown) {
      system("shutdown /s /t 180")
      quit(save = "no", status = 1)
    }
  }
  , es.use_symbols = TRUE
)


####################### Model parameters #######################

iterations = 2000 # 10'000 per chain to achieve 40'000
warmup = 1000

# NO AR!!!
#corstr = 'ar'
#corstr = 'cosy_couple'
#corstr = 'cosy_couple:user'


################################################################

suffix = as.character(iterations)
df <- openxlsx::read.xlsx(file.path('long.xlsx'))
df_original <- df

df_double <- prepare_data(df, recode_pushing = TRUE, use_mi = use_mi)[[1]]

Constructing scales Re-coding pusing reshaping data (4field) centering data within and between

summary(df_double$pushing)

Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 0.0000 0.0000 0.0000 0.1635 0.0000 5.0000 241

Modelling

# For indistinguishable Dyads
model_rows_fixed <- c(
    'Intercept', 
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'day', 
    'weartime_self_cw',
    
    'planPlan',
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions'
  )


model_rows_fixed_ordinal <- c(
  model_rows_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed[2:length(model_rows_fixed)]
)

model_rows_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_ordinal <- c(model_rows_random,'disc')
# For indistinguishable Dyads
model_rownames_fixed <- c(
    "Intercept", 
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    "Day", 
    "Daily weartime",
    
    'Actionplan',
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime",
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3'
  )


model_rownames_fixed_ordinal <- c(
  model_rownames_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed[2:length(model_rownames_fixed)]
)

model_rownames_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_ordinal <- c(model_rownames_random,'disc')
rows_to_pack <- list(
  "Within-Person Effects" = c(2,15),
  "Between-Person Effects" = c(16,26),
  "Random Effects" = c(27, 33), 
  "Additional Parameters" = c(34,34)
  )


rows_to_pack_ordinal <- list(
  "Intercepts" = c(1,6),
  "Within-Person Effects" = c(2+5,15+5),
  "Between-Person Effects" = c(16+5,26+5),
  "Random Effects" = c(27+5, 33+5), 
  "Additional Parameters" = c(34+5,34+6)
  )

HURDLE MODELS

# For indistinguishable Dyads
model_rows_fixed_hu <- c(
    'Intercept', 
    'hu_Intercept',
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'day', 
    'weartime_self_cw',
  
    'planPlan',
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions',
    
    # HURDLE MODEL
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'hu_persuasion_self_cw', 
    'hu_persuasion_partner_cw', 
    'hu_pressure_self_cw', 
    'hu_pressure_partner_cw', 
    'hu_pushing_self_cw', 
    'hu_pushing_partner_cw', 
    'hu_day', 
    'hu_weartime_self_cw',

    'hu_planPlan',
    'hu_support_self_cw',
    'hu_support_partner_cw',
    'hu_isWeekendWeekend',
    'hu_got_JITAI_selfJITAIreceived',
    'hu_skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'hu_persuasion_self_cb',
    'hu_persuasion_partner_cb',
    'hu_pressure_self_cb',
    'hu_pressure_partner_cb',
    'hu_pushing_self_cb',
    'hu_pushing_partner_cb',
    'hu_weartime_self_cb',
    
    'hu_support_self_cb',
    'hu_support_partner_cb',
    'hu_studyGroupFirst3weeksinterventions',
    'hu_studyGrouplast3weeksinterventions'
    
  )

model_rows_fixed_hu_ordinal <- c(
  model_rows_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed_hu[3:length(model_rows_fixed_hu)]
)


model_rows_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(hu_Intercept)',
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # HURDLE
  'sd(hu_persuasion_self_cw)',
  'sd(hu_persuasion_partner_cw)',
  'sd(hu_pressure_self_cw)',
  'sd(hu_pressure_partner_cw)',
  'sd(hu_pushing_self_cw)',
  'sd(hu_pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_hu_ordinal <- c(model_rows_random_hu,'disc')
# For indistinguishable Dyads
model_rownames_fixed_hu <- c(
    "Intercept", 
    "Hurdle Intercept",
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    "Day", 
    "Daily weartime",

    'Actionplan',
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime", 
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3',
    
    # HURDLE
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Hu Daily persuasion experienced", 
    "Hu Daily persuasion utilized (partner's view)", # OR partner received
    "Hu Daily pressure experienced", 
    "Hu Daily pressure utilized (partner's view)", 
    "Hu Daily pushing experienced", 
    "Hu Daily pushing utilized (partner's view)", 
    "Hu Day", 
    "Hu Daily weartime",

    'Hu Actionplan',
    'Hu Daily support received',
    "Hu Daily support provided (partner's view)",
    'Hu Is a Weekend',
    'Hu JITAI received',
    'Hu Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Hu Mean persuasion experienced", 
    "Hu Mean persuasion utilized (partner's view)", 
    "Hu Mean pressure experienced", 
    "Hu Mean pressure utilized (partner's view)", 
    "Hu Mean pushing experienced", 
    "Hu Mean pushing utilized (partner's view)", 
    "Hu Mean weartime",
    
    'Hu Mean support received',
    "Hu Mean support provided (partner's view)",
    'Hu Difference study group 2',
    'Hu Difference study group 3'
  )



model_rownames_fixed_hu_ordinal <- c(
  model_rownames_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed_hu[3:length(model_rownames_fixed_hu)]
)



model_rownames_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(Hurdle Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  
  # Hurdle
  "sd(Hu Daily persuasion experienced)", 
  "sd(Hu Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Hu Daily pressure experienced)", 
  "sd(Hu Daily pressure utilized (partner's view))", 
  "sd(Hu Daily pushing experienced)", 
  "sd(Hu Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_hu_ordinal <- c(model_rownames_random_hu,'disc')
rows_to_pack_hu <- list(
  "Conditional Within-Person Effects" = c(3,16),
  "Conditional Between-Person Effects" = c(17,27),
  
  "Hurdle Within-Person Effects" = c(28,41),
  "Hurdle Between-Person Effects" = c(42,52),
  
  "Random Effects" = c(53, 66), 
  "Additional Parameters" = c(67,67)
  )

rows_to_pack_hu_ordinal <- list(
  "Conditional Within-Person Effects" = c(3+5,16+5),
  "Conditional Between-Person Effects" = c(17+5,27+5),
  
  "Hurdle Within-Person Effects" = c(28+5,41+5),
  "Hurdle Between-Person Effects" = c(42+5,52+5),
  
  "Random Effects" = c(53+5, 66+5), 
  "Additional Parameters" = c(67+5,67+6)
  )

Self-Reported MVPA

Hurdle Lognormal Model

formula <- bf(
  pa_sub ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    #plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID),
  
  hu = ~ persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    #plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
) 

prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "b", dpar = "hu")
  , brms::set_prior("normal(0, 50)", class = "Intercept") # for non-zero PA
  , brms::set_prior("normal(0.5, 2.5)", class = "Intercept", dpar = 'hu') # hurdle part
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = hurdle_lognormal()
#)

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_sub <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::hurdle_lognormal(), 
  #family = brms::hurdle_negbinomial(), 
  #family = brms::hurdle_poisson(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 42,
  file = file.path("models_cache_brms", paste0("pa_sub_hu_lognormal_othercov_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
pa_sub_digest <- digest::digest(pa_sub)
# summarize with rope range for hurdle part
summary_pa_sub_hurdle <- summarize_brms(
  pa_sub, 
  stats_to_report = c('pd','ROPE'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("pd", "ROPE"), rope_range
## = c(-0.18, : Coefficients were exponentiated. Double check if this was
## intended.
# rope range for continuous part of the model
rope_factor <- sd(log(pa_sub$data$pa_sub[pa_sub$data$pa_sub > 0]))
rope_range_continuous = c(-0.1 * rope_factor, 0.1 * rope_factor)

summary_pa_sub_continuous <- summarize_brms(
  pa_sub, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_continuous,
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
# Replace only the ROPE and % in Rope columns for rows with 'Hu'
summary_pa_sub <- summary_pa_sub_continuous

columns_to_replace <- c("ROPE", "inside ROPE")

summary_pa_sub[grepl('Hu', rownames(summary_pa_sub)), columns_to_replace] <- 
  summary_pa_sub_hurdle[grepl('Hu', rownames(summary_pa_sub_hurdle)), columns_to_replace]

# Print the updated dataframe
summary_pa_sub %>%
  print_df(rows_to_pack = rows_to_pack_hu)
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 41.25*** 4.18 [33.68, 51.46] 1.000 [0.92, 1.08] 0.000 1.005 657 1041
Hurdle Intercept 0.98 0.26 [ 0.61, 1.68] 0.536 [0.84, 1.20] 0.505 1.003 697 1376
Conditional Within-Person Effects
Daily persuasion experienced 1.03 0.03 [ 0.97, 1.08] 0.819 [0.92, 1.08] 0.971 1.001 1458 2058
Daily persuasion utilized (partner’s view) 1.03 0.02 [ 0.98, 1.08] 0.881 [0.92, 1.08] 0.984 1.001 2072 2578
Daily pressure experienced 0.89* 0.04 [ 0.80, 0.98] 0.989 [0.92, 1.08] 0.206 1.000 2612 2241
Daily pressure utilized (partner’s view) 0.94 0.04 [ 0.86, 1.03] 0.912 [0.92, 1.08] 0.654 1.000 2953 2319
Daily pushing experienced 1.03 0.03 [ 0.96, 1.10] 0.777 [0.92, 1.08] 0.938 1.000 2427 2546
Daily pushing utilized (partner’s view) 0.99 0.03 [ 0.93, 1.05] 0.610 [0.92, 1.08] 0.983 1.002 2836 2810
Day 0.97 0.09 [ 0.81, 1.15] 0.647 [0.92, 1.08] 0.594 1.000 3125 3073
Daily weartime NA NA NA NA NA NA NA NA NA
Actionplan NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend 1.15*** 0.04 [ 1.07, 1.25] 1.000 [0.92, 1.08] 0.044 1.001 4407 3335
JITAI received 0.95 0.05 [ 0.85, 1.05] 0.857 [0.92, 1.08] 0.667 1.002 5059 3321
Days post skilled support intervention 1.06 0.07 [ 0.94, 1.19] 0.828 [0.92, 1.08] 0.608 1.001 3049 2752
Conditional Between-Person Effects
Mean persuasion experienced 1.05 0.15 [ 0.77, 1.41] 0.615 [0.92, 1.08] 0.385 1.002 830 1398
Mean persuasion utilized (partner’s view) 1.02 0.15 [ 0.75, 1.37] 0.554 [0.92, 1.08] 0.406 1.002 816 1445
Mean pressure experienced 1.11 0.20 [ 0.78, 1.59] 0.727 [0.92, 1.08] 0.287 1.003 1252 1712
Mean pressure utilized (partner’s view) 0.89 0.16 [ 0.61, 1.27] 0.741 [0.92, 1.08] 0.268 1.000 1310 2307
Mean pushing experienced 1.25 0.28 [ 0.79, 2.01] 0.845 [0.92, 1.08] 0.165 1.001 1172 1812
Mean pushing utilized (partner’s view) 1.29 0.30 [ 0.80, 2.08] 0.859 [0.92, 1.08] 0.150 1.001 1232 1908
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Difference study group 2 1.05 0.15 [ 0.78, 1.37] 0.628 [0.92, 1.08] 0.396 1.002 594 1217
Difference study group 3 1.27 0.16 [ 0.97, 1.63] 0.962 [0.92, 1.08] 0.104 1.006 749 1327
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.53*** 0.10 [ 1.36, 1.75] 1.000 [0.84, 1.20] 0.000 1.000 2544 2939
Hu Daily persuasion utilized (partner’s view) 1.32*** 0.08 [ 1.18, 1.49] 1.000 [0.84, 1.20] 0.048 1.002 2455 2771
Hu Daily pressure experienced 0.82 0.13 [ 0.58, 1.14] 0.898 [0.84, 1.20] 0.425 1.002 2728 2532
Hu Daily pressure utilized (partner’s view) 1.49* 0.28 [ 1.06, 2.27] 0.988 [0.84, 1.20] 0.108 1.000 3060 2415
Hu Daily pushing experienced 1.73*** 0.28 [ 1.29, 2.45] 1.000 [0.84, 1.20] 0.007 1.001 2171 2472
Hu Daily pushing utilized (partner’s view) 1.82*** 0.22 [ 1.47, 2.39] 1.000 [0.84, 1.20] 0.000 1.002 2713 2449
Hu Day 0.81 0.16 [ 0.56, 1.16] 0.857 [0.84, 1.20] 0.426 1.001 2897 2934
Hu Daily weartime NA NA NA NA NA NA NA NA NA
Hu Actionplan NA NA NA NA NA NA NA NA NA
Hu Daily support received NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Hu Is a Weekend 1.10 0.09 [ 0.93, 1.31] 0.871 [0.84, 1.20] 0.837 1.001 4979 3163
Hu JITAI received 0.68*** 0.08 [ 0.54, 0.84] 1.000 [0.84, 1.20] 0.029 1.002 4173 2947
Hu Days post skilled support intervention 1.18 0.17 [ 0.89, 1.56] 0.874 [0.84, 1.20] 0.535 1.000 2698 2200
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.19 0.47 [ 0.53, 2.58] 0.658 [0.84, 1.20] 0.312 1.007 674 1321
Hu Mean persuasion utilized (partner’s view) 1.16 0.46 [ 0.53, 2.57] 0.647 [0.84, 1.20] 0.326 1.008 701 1351
Hu Mean pressure experienced 0.32* 0.14 [ 0.13, 0.75] 0.994 [0.84, 1.20] 0.015 1.007 973 2235
Hu Mean pressure utilized (partner’s view) 0.61 0.27 [ 0.26, 1.50] 0.870 [0.84, 1.20] 0.158 1.005 1063 2171
Hu Mean pushing experienced 2.72 1.58 [ 0.86, 8.22] 0.957 [0.84, 1.20] 0.054 1.005 1082 1402
Hu Mean pushing utilized (partner’s view) 2.79 1.62 [ 0.90, 8.59] 0.961 [0.84, 1.20] 0.054 1.003 1100 1599
Hu Mean weartime NA NA NA NA NA NA NA NA NA
Hu Mean support received NA NA NA NA NA NA NA NA NA
Hu Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Hu Difference study group 2 0.58 0.21 [ 0.30, 1.15] 0.936 [0.84, 1.20] 0.132 1.004 729 1228
Hu Difference study group 3 0.98 0.33 [ 0.51, 1.90] 0.525 [0.84, 1.20] 0.412 1.002 731 1293
Random Effects
sd(Intercept) 0.31 0.05 [0.23, 0.42] NA NA NA 1.004 1097 1849
sd(Hurdle Intercept) 0.88 0.12 [0.68, 1.19] NA NA NA 1.002 1043 1647
sd(Daily persuasion experienced) 0.12 0.02 [0.08, 0.18] NA NA NA 1.001 1805 2169
sd(Daily persuasion utilized (partner’s view)) 0.09 0.02 [0.05, 0.13] NA NA NA 1.001 2188 2523
sd(Daily pressure experienced) 0.07 0.06 [0.00, 0.24] NA NA NA 1.001 1279 1977
sd(Daily pressure utilized (partner’s view)) 0.06 0.05 [0.00, 0.18] NA NA NA 1.002 1806 1727
sd(Daily pushing experienced) 0.10 0.04 [0.03, 0.18] NA NA NA 1.001 1229 678
sd(Daily pushing utilized (partner’s view)) 0.08 0.04 [0.01, 0.16] NA NA NA 1.003 1341 1220
sd(Hu Daily persuasion experienced) 0.17 0.08 [0.02, 0.34] NA NA NA 1.002 1178 713
sd(Hu Daily persuasion utilized (partner’s view)) 0.16 0.08 [0.02, 0.33] NA NA NA 1.003 776 747
sd(Hu Daily pressure experienced) 0.25 0.22 [0.01, 0.84] NA NA NA 1.002 1164 1377
sd(Hu Daily pressure utilized (partner’s view)) 0.29 0.24 [0.02, 1.01] NA NA NA 1.002 1372 2018
sd(Hu Daily pushing experienced) 0.62 0.18 [0.33, 1.05] NA NA NA 1.002 1723 2712
sd(Hu Daily pushing utilized (partner’s view)) 0.30 0.14 [0.05, 0.64] NA NA NA 1.001 1831 1656
Additional Parameters
sigma 0.68 0.01 [0.66, 0.71] NA NA NA 1.000 3907 2948
# Plot continuous part of model

variable <- c(
  '(Intercept)',
  'b_persuasion_self_cw',
  'b_persuasion_partner_cw',
  'b_pressure_self_cw',
  'b_pressure_partner_cw',
  'b_pushing_self_cw',
  'b_pushing_partner_cw'
)


plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(
    pa_sub, 
    parameter = variable, 
    range = rope_range_continuous,
    verbose = F,
    ci = 1
  )
) + theme_bw()

# Hurdle part of the model
variable <- c(
  'b_hu_persuasion_self_cw',
  'b_hu_persuasion_partner_cw',
  'b_hu_pressure_self_cw',
  'b_hu_pressure_partner_cw',
  'b_hu_pushing_self_cw',
  'b_hu_pushing_partner_cw'
)

plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length

# The rope range for the bernoulli part of the model is -0.18, 0.18
plot(
  bayestestR::rope(pa_sub, parameter = variable, range = c(-0.18, 0.18), ci = 1),
  verbose = FALSE
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.76), b_hu_persuasion_partner_cb and
##   b_hu_persuasion_self_cb (r = 0.83). This might lead to inappropriate
##   results. See 'Details' in '?rope'.

Device Based MVPA

Lognormal Model

formula <- bf(
  pa_obj ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    #plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day +  + weartime_self_cw + weartime_self_cb +
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 50)", class = "Intercept") 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = lognormal()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_obj_log <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = lognormal(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("pa_obj_log_gaussian_othercov_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
pa_obj_log_digest <- digest::digest(pa_obj_log)
# rope range for lognormal model
rope_factor <- sd(log(pa_obj_log$data$pa_obj))
rope_range_log = c(-0.1 * rope_factor, 0.1 * rope_factor)

summarize_brms(
  pa_obj_log, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_log,
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
## Warning in summarize_brms(pa_obj_log, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 117.75*** 10.83 [97.89, 140.83] 1.000 [0.94, 1.07] 0.000 1.004 1350 2439
Within-Person Effects
Daily persuasion experienced 1.03 0.02 [ 1.00, 1.06] 0.964 [0.94, 1.07] 0.990 1.002 4878 3328
Daily persuasion utilized (partner’s view) 1.02 0.02 [ 0.99, 1.05] 0.876 [0.94, 1.07] 0.998 1.001 5016 3135
Daily pressure experienced 0.94 0.03 [ 0.88, 1.01] 0.959 [0.94, 1.07] 0.552 1.001 6693 3005
Daily pressure utilized (partner’s view) 0.98 0.03 [ 0.92, 1.05] 0.709 [0.94, 1.07] 0.908 1.003 6757 3618
Daily pushing experienced 1.03 0.02 [ 0.98, 1.09] 0.908 [0.94, 1.07] 0.896 1.003 5998 3292
Daily pushing utilized (partner’s view) 1.02 0.02 [ 0.98, 1.06] 0.768 [0.94, 1.07] 0.991 1.001 7008 3117
Day 0.94 0.04 [ 0.86, 1.03] 0.901 [0.94, 1.07] 0.523 1.001 6871 3056
Daily weartime 1.00*** 0.00 [ 1.00, 1.00] 1.000 [0.94, 1.07] 1.000 1.000 4106 2797
Actionplan NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend 1.06* 0.02 [ 1.01, 1.10] 0.988 [0.94, 1.07] 0.682 1.000 11599 2844
JITAI received 0.94* 0.03 [ 0.88, 1.00] 0.982 [0.94, 1.07] 0.510 1.001 9735 2447
Days post skilled support intervention 1.05 0.04 [ 0.98, 1.13] 0.904 [0.94, 1.07] 0.683 1.000 6798 3308
Between-Person Effects
Mean persuasion experienced 1.09 0.16 [ 0.80, 1.46] 0.715 [0.94, 1.07] 0.289 1.004 1152 1559
Mean persuasion utilized (partner’s view) 0.96 0.15 [ 0.71, 1.30] 0.598 [0.94, 1.07] 0.310 1.005 1141 1516
Mean pressure experienced 0.99 0.15 [ 0.72, 1.35] 0.526 [0.94, 1.07] 0.312 1.004 1561 2175
Mean pressure utilized (partner’s view) 0.99 0.15 [ 0.73, 1.34] 0.528 [0.94, 1.07] 0.323 1.004 1501 2147
Mean pushing experienced 0.99 0.21 [ 0.64, 1.53] 0.520 [0.94, 1.07] 0.237 1.000 1343 2415
Mean pushing utilized (partner’s view) 1.26 0.27 [ 0.82, 1.94] 0.851 [0.94, 1.07] 0.132 1.001 1470 2083
Mean weartime 1.00 0.00 [ 1.00, 1.00] 0.922 [0.94, 1.07] 1.000 1.000 5924 3919
Mean support received NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Difference study group 2 0.91 0.12 [ 0.71, 1.17] 0.771 [0.94, 1.07] 0.292 1.003 1252 1737
Difference study group 3 1.01 0.13 [ 0.78, 1.33] 0.540 [0.94, 1.07] 0.389 1.004 1342 2015
Random Effects
sd(Intercept) 0.31 0.04 [0.24, 0.41] NA NA NA 1.000 1459 2259
sd(Daily persuasion experienced) 0.05 0.01 [0.02, 0.09] NA NA NA 1.000 2963 2314
sd(Daily persuasion utilized (partner’s view)) 0.06 0.02 [0.03, 0.09] NA NA NA 1.002 2672 2672
sd(Daily pressure experienced) 0.04 0.03 [0.00, 0.14] NA NA NA 1.002 2377 2226
sd(Daily pressure utilized (partner’s view)) 0.03 0.03 [0.00, 0.11] NA NA NA 1.000 2792 2370
sd(Daily pushing experienced) 0.07 0.04 [0.01, 0.15] NA NA NA 1.003 1229 1439
sd(Daily pushing utilized (partner’s view)) 0.03 0.03 [0.00, 0.10] NA NA NA 1.001 1978 2503
Additional Parameters
sigma 0.57 0.01 [0.56, 0.59] NA NA NA 1.003 7614 2852
plot(
  bayestestR::p_direction(pa_obj_log),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(pa_obj_log, range = rope_range_log, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.9), b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.75), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.77), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.73), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.8), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.84). This might lead to inappropriate results.
##   See 'Details' in '?rope'.

# Nothing significant, no plots

Affect

Gaussian

formula <- bf(
  aff ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    #plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 5)", class = "b")
  ,brms::set_prior("normal(0, 20)", class = "Intercept", lb=1, ub=6)
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = gaussian()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

mood_gauss <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = gaussian(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("mood_gauss_othercov_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
mood_gauss_digest <- digest::digest(mood_gauss)
summarize_brms(
  mood_gauss, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = F) %>%
  print_df(rows_to_pack = rows_to_pack)
Est. SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 3.63*** 0.16 [ 3.31, 3.95] 1.000 [-0.11, 0.11] 0.000 1.001 793 1394
Within-Person Effects
Daily persuasion experienced 0.00 0.02 [-0.04, 0.04] 0.525 [-0.11, 0.11] 1.000 1.001 3744 2810
Daily persuasion utilized (partner’s view) 0.02 0.02 [-0.03, 0.07] 0.800 [-0.11, 0.11] 1.000 1.001 3613 2537
Daily pressure experienced -0.04 0.05 [-0.15, 0.07] 0.753 [-0.11, 0.11] 0.911 1.001 3758 2697
Daily pressure utilized (partner’s view) -0.02 0.05 [-0.15, 0.09] 0.670 [-0.11, 0.11] 0.923 1.005 3298 2352
Daily pushing experienced 0.02 0.03 [-0.04, 0.09] 0.785 [-0.11, 0.11] 0.999 1.000 4759 2972
Daily pushing utilized (partner’s view) 0.08* 0.03 [ 0.01, 0.14] 0.982 [-0.11, 0.11] 0.878 1.002 3180 2824
Day 0.24** 0.07 [ 0.09, 0.39] 0.999 [-0.11, 0.11] 0.053 1.001 3413 3195
Daily weartime NA NA NA NA NA NA NA NA NA
Actionplan NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend 0.14*** 0.04 [ 0.07, 0.21] 1.000 [-0.11, 0.11] 0.237 1.001 6692 3104
JITAI received -0.09 0.05 [-0.18, 0.00] 0.975 [-0.11, 0.11] 0.696 1.001 5329 2906
Days post skilled support intervention 0.04 0.06 [-0.08, 0.16] 0.768 [-0.11, 0.11] 0.893 1.000 3072 2958
Between-Person Effects
Mean persuasion experienced 0.38 0.27 [-0.15, 0.92] 0.922 [-0.11, 0.11] 0.138 1.012 555 937
Mean persuasion utilized (partner’s view) 0.26 0.27 [-0.26, 0.80] 0.831 [-0.11, 0.11] 0.212 1.012 566 958
Mean pressure experienced -0.28 0.26 [-0.82, 0.24] 0.863 [-0.11, 0.11] 0.180 1.009 707 1202
Mean pressure utilized (partner’s view) -0.28 0.27 [-0.83, 0.25] 0.850 [-0.11, 0.11] 0.202 1.010 721 1302
Mean pushing experienced 0.14 0.37 [-0.61, 0.91] 0.651 [-0.11, 0.11] 0.226 1.008 867 1188
Mean pushing utilized (partner’s view) 0.27 0.38 [-0.48, 1.03] 0.774 [-0.11, 0.11] 0.174 1.006 845 1557
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Difference study group 2 -0.24 0.22 [-0.68, 0.21] 0.860 [-0.11, 0.11] 0.235 1.003 688 1491
Difference study group 3 0.33 0.23 [-0.11, 0.78] 0.934 [-0.11, 0.11] 0.147 1.008 599 1410
Random Effects
sd(Intercept) 0.56 0.07 [0.45, 0.74] NA NA NA 1.002 1050 1642
sd(Daily persuasion experienced) 0.04 0.03 [0.00, 0.10] NA NA NA 1.001 978 1374
sd(Daily persuasion utilized (partner’s view)) 0.07 0.03 [0.01, 0.13] NA NA NA 1.001 1167 1290
sd(Daily pressure experienced) 0.07 0.06 [0.00, 0.25] NA NA NA 1.003 1649 1692
sd(Daily pressure utilized (partner’s view)) 0.08 0.07 [0.00, 0.27] NA NA NA 1.005 1336 1677
sd(Daily pushing experienced) 0.04 0.04 [0.00, 0.14] NA NA NA 1.001 1598 2026
sd(Daily pushing utilized (partner’s view)) 0.06 0.04 [0.00, 0.16] NA NA NA 1.000 1552 1937
Additional Parameters
sigma 0.96 0.01 [0.94, 0.98] NA NA NA 1.001 6219 2852
plot(
  bayestestR::p_direction(mood_gauss),
  priors = TRUE
)  + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(mood_gauss, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.81), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.79), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.79), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.81), b_pressure_partner_cb and
##   b_pressure_self_cb (r = 0.76), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.89). This might lead to inappropriate results.
##   See 'Details' in '?rope'.

conditional_spaghetti(
  mood_gauss, 
  effects = c('pushing_partner_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

$pushing_partner_cw

Reactance

Ordinal

df_double$reactance_ordinal <- factor(df_double$reactance,
                                      levels = 0:5, 
                                      ordered = TRUE)

formula <- bf(
  reactance_ordinal ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    #plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = cumulative() # HURDLE_CUMULATIVE
#  )


#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

reactance_ordinal <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::cumulative(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777
  , file = file.path("models_cache_brms", paste0("reactance_ordinal_othercov_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
reactance_ordinal_digest <- digest::digest(reactance_ordinal)
summarize_brms(
  reactance_ordinal, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_ordinal,
  model_rows_random = model_rows_random_ordinal,
  model_rownames_fixed = model_rownames_fixed_ordinal,
  model_rownames_random = model_rownames_random_ordinal,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack_ordinal)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercepts
Intercept NA NA NA NA NA NA NA NA NA
Intercept[1] 2.64** 0.91 [ 1.31, 5.28] 0.998 [0.84, 1.20] 0.013 1.000 3283 2703
Intercept[2] 5.76*** 2.03 [ 2.83, 11.87] 1.000 [0.84, 1.20] 0.000 1.001 3256 2559
Intercept[3] 16.06*** 6.05 [ 7.66, 34.59] 1.000 [0.84, 1.20] 0.000 1.000 3542 2921
Intercept[4] 70.24*** 29.69 [ 31.00, 165.64] 1.000 [0.84, 1.20] 0.000 1.003 3994 3035
Intercept[5] 2420.32*** 1636.47 [664.84, 10874.55] 1.000 [0.84, 1.20] 0.000 1.003 5284 2679
Within-Person Effects
Daily persuasion experienced 0.85 0.07 [ 0.72, 1.00] 0.975 [0.84, 1.20] 0.597 1.000 4635 2750
Daily persuasion utilized (partner’s view) 1.03 0.10 [ 0.83, 1.24] 0.610 [0.84, 1.20] 0.915 1.001 4453 3360
Daily pressure experienced 1.85* 0.37 [ 1.17, 2.68] 0.995 [0.84, 1.20] 0.030 1.000 3042 2730
Daily pressure utilized (partner’s view) 1.24 0.30 [ 0.69, 2.09] 0.815 [0.84, 1.20] 0.370 1.002 2559 2067
Daily pushing experienced 1.18 0.12 [ 0.97, 1.46] 0.953 [0.84, 1.20] 0.556 1.001 3496 3039
Daily pushing utilized (partner’s view) 0.93 0.11 [ 0.71, 1.19] 0.734 [0.84, 1.20] 0.775 1.001 4601 3017
Day 1.66 0.77 [ 0.69, 3.97] 0.864 [0.84, 1.20] 0.183 1.001 3739 3084
Daily weartime NA NA NA NA NA NA NA NA NA
Actionplan NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend 0.66* 0.14 [ 0.44, 0.98] 0.981 [0.84, 1.20] 0.124 1.000 7562 2943
JITAI received 1.26 0.34 [ 0.77, 2.13] 0.809 [0.84, 1.20] 0.360 1.000 5021 3194
Days post skilled support intervention 0.80 0.27 [ 0.40, 1.55] 0.754 [0.84, 1.20] 0.330 1.001 3217 3054
Between-Person Effects
Mean persuasion experienced 1.02 0.49 [ 0.40, 2.61] 0.512 [0.84, 1.20] 0.299 1.002 2356 2812
Mean persuasion utilized (partner’s view) 1.28 0.69 [ 0.45, 3.83] 0.679 [0.84, 1.20] 0.241 1.000 2302 2764
Mean pressure experienced 3.47* 1.79 [ 1.30, 9.89] 0.994 [0.84, 1.20] 0.015 1.000 2416 2913
Mean pressure utilized (partner’s view) 1.23 0.65 [ 0.42, 3.60] 0.646 [0.84, 1.20] 0.256 1.001 2273 2627
Mean pushing experienced 1.47 1.07 [ 0.38, 6.15] 0.708 [0.84, 1.20] 0.176 1.001 2551 2707
Mean pushing utilized (partner’s view) 0.10** 0.09 [ 0.02, 0.54] 0.997 [0.84, 1.20] 0.005 1.000 3206 2834
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Difference study group 2 1.19 0.45 [ 0.54, 2.46] 0.679 [0.84, 1.20] 0.332 1.002 2642 3135
Difference study group 3 0.38* 0.16 [ 0.16, 0.89] 0.985 [0.84, 1.20] 0.029 1.001 3019 3064
Random Effects
sd(Intercept) 0.66 0.21 [0.25, 1.15] NA NA NA 1.001 1199 967
sd(Daily persuasion experienced) 0.17 0.13 [0.01, 0.43] NA NA NA 1.006 877 1570
sd(Daily persuasion utilized (partner’s view)) 0.21 0.14 [0.01, 0.51] NA NA NA 1.002 1098 1295
sd(Daily pressure experienced) 0.56 0.26 [0.08, 1.12] NA NA NA 1.000 1061 1106
sd(Daily pressure utilized (partner’s view)) 0.38 0.35 [0.02, 1.54] NA NA NA 1.000 1275 2437
sd(Daily pushing experienced) 0.22 0.14 [0.02, 0.53] NA NA NA 1.003 1252 1191
sd(Daily pushing utilized (partner’s view)) 0.14 0.12 [0.01, 0.56] NA NA NA 1.001 1847 2388
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
disc 1.00 0.00 [1.00, 1.00] NA NA NA NA NA NA
plot(
  bayestestR::p_direction(reactance_ordinal),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(reactance_ordinal, range = c(-0.18, 0.18), ci = 1)
) + theme_bw()
## Possible multicollinearity between b_Intercept[4] and b_Intercept[2] (r
##   = 0.85), b_Intercept[4] and b_Intercept[3] (r = 0.89),
##   b_pressure_partner_cb and b_persuasion_partner_cb (r = 0.79). This might
##   lead to inappropriate results. See 'Details' in '?rope'.

conditional_spaghetti(
  reactance_ordinal, 
  effects = c('persuasion_self_cw', 'pressure_self_cw')
  , group_var = 'coupleID'
  #, n_groups = 15
  , plot_full_range = T
)

\(persuasion_self_cw <img src="04_SensitivityOtherCovariates_files/figure-html/report_reactance_ordinal-3.png" width="2400" />\)pressure_self_cw

Binary

introduce_binary_reactance <- function(data) {
  data$is_reactance <- factor(data$reactance > 0, levels = c(FALSE, TRUE), labels = c(0, 1))
  return(data)
}



df_double <- introduce_binary_reactance(df_double)
if (use_mi) {
  for (i in seq_along(implist)) {
    implist[[i]] <- introduce_binary_reactance(implist[[i]])
  }
}


formula <- bf(
  is_reactance ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    #plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
  )



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 10)", class = "Intercept", lb=0, ub=5) 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = bernoulli()
#  )



#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

is_reactance <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::bernoulli(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("is_reactance_othercov_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
is_reactance_digest <- digest::digest(is_reactance)
summarize_brms(
  is_reactance,
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 0.43* 0.18 [0.19, 0.98] 0.978 [0.83, 1.20] 0.050 1.000 2354 2861
Within-Person Effects
Daily persuasion experienced 0.85 0.08 [0.69, 1.03] 0.953 [0.83, 1.20] 0.572 1.001 3019 2315
Daily persuasion utilized (partner’s view) 1.13 0.16 [0.85, 1.56] 0.816 [0.83, 1.20] 0.640 1.001 2503 2773
Daily pressure experienced 2.00* 0.63 [1.03, 4.41] 0.979 [0.83, 1.20] 0.044 1.001 2025 2240
Daily pressure utilized (partner’s view) 1.42 0.58 [0.60, 3.91] 0.802 [0.83, 1.20] 0.238 1.000 2095 2159
Daily pushing experienced 1.29* 0.16 [1.02, 1.66] 0.986 [0.83, 1.20] 0.270 1.001 3214 2570
Daily pushing utilized (partner’s view) 0.89 0.17 [0.60, 1.31] 0.719 [0.83, 1.20] 0.570 1.003 3594 3027
Day 2.13 1.15 [0.77, 6.08] 0.921 [0.83, 1.20] 0.106 1.001 2841 2162
Daily weartime NA NA NA NA NA NA NA NA NA
Actionplan NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend 0.65 0.16 [0.38, 1.06] 0.960 [0.83, 1.20] 0.150 1.002 4687 2913
JITAI received 1.39 0.44 [0.74, 2.62] 0.850 [0.83, 1.20] 0.256 1.001 4029 2742
Days post skilled support intervention 0.70 0.28 [0.32, 1.51] 0.827 [0.83, 1.20] 0.242 1.001 2870 2733
Between-Person Effects
Mean persuasion experienced 1.84 1.08 [0.58, 6.51] 0.853 [0.83, 1.20] 0.145 1.000 1596 2491
Mean persuasion utilized (partner’s view) 1.78 1.15 [0.51, 7.01] 0.824 [0.83, 1.20] 0.151 1.001 1510 1985
Mean pressure experienced 17.85** 18.65 [2.44, 169.46] 0.998 [0.83, 1.20] 0.002 1.000 2117 2273
Mean pressure utilized (partner’s view) 2.72 3.06 [0.26, 23.29] 0.802 [0.83, 1.20] 0.084 1.001 1799 2371
Mean pushing experienced 0.90 0.89 [0.13, 7.19] 0.542 [0.83, 1.20] 0.136 1.001 2370 2519
Mean pushing utilized (partner’s view) 0.07* 0.08 [0.01, 0.61] 0.994 [0.83, 1.20] 0.007 1.000 2495 2771
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Difference study group 2 1.22 0.59 [0.46, 3.26] 0.660 [0.83, 1.20] 0.264 1.003 1600 2399
Difference study group 3 0.38 0.20 [0.12, 1.17] 0.953 [0.83, 1.20] 0.062 1.002 1753 2237
Random Effects
sd(Intercept) 1.09 0.26 [0.63, 1.70] NA NA NA 1.006 1179 2025
sd(Daily persuasion experienced) 0.21 0.14 [0.01, 0.51] NA NA NA 1.013 684 1254
sd(Daily persuasion utilized (partner’s view)) 0.48 0.20 [0.12, 0.96] NA NA NA 1.002 1084 727
sd(Daily pressure experienced) 1.10 0.58 [0.09, 2.34] NA NA NA 1.005 714 625
sd(Daily pressure utilized (partner’s view)) 0.76 0.65 [0.04, 2.61] NA NA NA 1.002 1401 1737
sd(Daily pushing experienced) 0.24 0.17 [0.01, 0.61] NA NA NA 1.002 1425 1426
sd(Daily pushing utilized (partner’s view)) 0.23 0.20 [0.01, 0.87] NA NA NA 1.001 1818 1868
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
plot(
  bayestestR::p_direction(is_reactance),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(is_reactance, ci = 1)
) + theme_bw()

conditional_spaghetti(
  is_reactance, 
  effects = c('pressure_self_cw', 'pushing_self_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

\(pressure_self_cw <img src="04_SensitivityOtherCovariates_files/figure-html/report_is_reactance-3.png" width="2400" />\)pushing_self_cw

Report All Models

process_model_component <- function(obj) {
  # Convert to string, modify, and evaluate
  name <- deparse(substitute(obj))
  if (report_hurdle) name <- paste0(name, '_hu')
  if (report_ordinal) name <- paste0(name, '_ordinal')
  return(get(name, envir = parent.frame()))
}



all_models <- report_side_by_side(
  pa_sub,
  pa_obj_log,
  mood_gauss,
  reactance_ordinal,
  is_reactance,
  
  stats_to_report = c('CI', 'pd'),
  
  model_rows_random = process_model_component(model_rows_random),
  model_rows_fixed = process_model_component(model_rows_fixed),
  model_rownames_random = process_model_component(model_rownames_random),
  model_rownames_fixed = process_model_component(model_rownames_fixed)
) 

[1] “pa_sub”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “pa_obj_log”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “mood_gauss” [1] “reactance_ordinal” [1] “is_reactance”

# pretty printing

summary_all_models <- all_models %>%
  print_df(rows_to_pack = process_model_component(rows_to_pack)) %>%
  add_header_above(
    c(" ", "Subjective MVPA Hurdle Lognormal" = (length(all_models) / 5),  
      "Device-Based MVPA Log (Gaussian)" = (length(all_models) / 5), 
      "Mood Gaussian" = (length(all_models) / 5),
      "Reactance Ordinal" = (length(all_models) / 5),
      "Reactance Dichotome" = (length(all_models) / 5))
  )


export_xlsx(
  summary_all_models, 
  rows_to_pack = process_model_component(rows_to_pack),
  file.path("Output", "AllModels_otherCovariates.xlsx"), 
  merge_option = 'header', 
  simplify_2nd_row = TRUE,
  line_above_rows = c(1,2),
  line_below_rows = c(-1)
)
## 
## Attaching package: 'rvest'
## The following object is masked from 'package:readr':
## 
##     guess_encoding
print(summary_all_models)
Subjective MVPA Hurdle Lognormal
Device-Based MVPA Log (Gaussian)
Mood Gaussian
Reactance Ordinal
Reactance Dichotome
exp(Est.) pa_sub 95% CI pa_sub pd pa_sub exp(Est.) pa_obj_log 95% CI pa_obj_log pd pa_obj_log Est. mood_gauss 95% CI mood_gauss pd mood_gauss OR reactance_ordinal 95% CI reactance_ordinal pd reactance_ordinal OR is_reactance 95% CI is_reactance pd is_reactance
Intercept 41.25*** [33.68, 51.46] 1.000 117.75*** [97.89, 140.83] 1.000 3.63*** [ 3.31, 3.95] 1.000 NA NA NA 0.43* [0.19, 0.98] 0.978
Hurdle Intercept 0.98 [ 0.61, 1.68] 0.536 NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Within-Person Effects
Daily persuasion experienced 1.03 [ 0.97, 1.08] 0.819 1.03 [ 1.00, 1.06] 0.964 0.00 [-0.04, 0.04] 0.525 0.85 [ 0.72, 1.00] 0.975 0.85 [0.69, 1.03] 0.953
Daily persuasion utilized (partner’s view) 1.03 [ 0.98, 1.08] 0.881 1.02 [ 0.99, 1.05] 0.876 0.02 [-0.03, 0.07] 0.800 1.03 [ 0.83, 1.24] 0.610 1.13 [0.85, 1.56] 0.816
Daily pressure experienced 0.89* [ 0.80, 0.98] 0.989 0.94 [ 0.88, 1.01] 0.959 -0.04 [-0.15, 0.07] 0.753 1.85* [ 1.17, 2.68] 0.995 2.00* [1.03, 4.41] 0.979
Daily pressure utilized (partner’s view) 0.94 [ 0.86, 1.03] 0.912 0.98 [ 0.92, 1.05] 0.709 -0.02 [-0.15, 0.09] 0.670 1.24 [ 0.69, 2.09] 0.815 1.42 [0.60, 3.91] 0.802
Daily pushing experienced 1.03 [ 0.96, 1.10] 0.777 1.03 [ 0.98, 1.09] 0.908 0.02 [-0.04, 0.09] 0.785 1.18 [ 0.97, 1.46] 0.953 1.29* [1.02, 1.66] 0.986
Daily pushing utilized (partner’s view) 0.99 [ 0.93, 1.05] 0.610 1.02 [ 0.98, 1.06] 0.768 0.08* [ 0.01, 0.14] 0.982 0.93 [ 0.71, 1.19] 0.734 0.89 [0.60, 1.31] 0.719
Day 0.97 [ 0.81, 1.15] 0.647 0.94 [ 0.86, 1.03] 0.901 0.24** [ 0.09, 0.39] 0.999 1.66 [ 0.69, 3.97] 0.864 2.13 [0.77, 6.08] 0.921
Daily weartime NA NA NA 1.00*** [ 1.00, 1.00] 1.000 NA NA NA NA NA NA NA NA NA
Actionplan NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Is a Weekend 1.15*** [ 1.07, 1.25] 1.000 1.06* [ 1.01, 1.10] 0.988 0.14*** [ 0.07, 0.21] 1.000 0.66* [ 0.44, 0.98] 0.981 0.65 [0.38, 1.06] 0.960
JITAI received 0.95 [ 0.85, 1.05] 0.857 0.94* [ 0.88, 1.00] 0.982 -0.09 [-0.18, 0.00] 0.975 1.26 [ 0.77, 2.13] 0.809 1.39 [0.74, 2.62] 0.850
Days post skilled support intervention 1.06 [ 0.94, 1.19] 0.828 1.05 [ 0.98, 1.13] 0.904 0.04 [-0.08, 0.16] 0.768 0.80 [ 0.40, 1.55] 0.754 0.70 [0.32, 1.51] 0.827
Conditional Between-Person Effects
Mean persuasion experienced 1.05 [ 0.77, 1.41] 0.615 1.09 [ 0.80, 1.46] 0.715 0.38 [-0.15, 0.92] 0.922 1.02 [ 0.40, 2.61] 0.512 1.84 [0.58, 6.51] 0.853
Mean persuasion utilized (partner’s view) 1.02 [ 0.75, 1.37] 0.554 0.96 [ 0.71, 1.30] 0.598 0.26 [-0.26, 0.80] 0.831 1.28 [ 0.45, 3.83] 0.679 1.78 [0.51, 7.01] 0.824
Mean pressure experienced 1.11 [ 0.78, 1.59] 0.727 0.99 [ 0.72, 1.35] 0.526 -0.28 [-0.82, 0.24] 0.863 3.47* [ 1.30, 9.89] 0.994 17.85** [2.44, 169.46] 0.998
Mean pressure utilized (partner’s view) 0.89 [ 0.61, 1.27] 0.741 0.99 [ 0.73, 1.34] 0.528 -0.28 [-0.83, 0.25] 0.850 1.23 [ 0.42, 3.60] 0.646 2.72 [0.26, 23.29] 0.802
Mean pushing experienced 1.25 [ 0.79, 2.01] 0.845 0.99 [ 0.64, 1.53] 0.520 0.14 [-0.61, 0.91] 0.651 1.47 [ 0.38, 6.15] 0.708 0.90 [0.13, 7.19] 0.542
Mean pushing utilized (partner’s view) 1.29 [ 0.80, 2.08] 0.859 1.26 [ 0.82, 1.94] 0.851 0.27 [-0.48, 1.03] 0.774 0.10** [ 0.02, 0.54] 0.997 0.07* [0.01, 0.61] 0.994
Mean weartime NA NA NA 1.00 [ 1.00, 1.00] 0.922 NA NA NA NA NA NA NA NA NA
Mean support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Difference study group 2 1.05 [ 0.78, 1.37] 0.628 0.91 [ 0.71, 1.17] 0.771 -0.24 [-0.68, 0.21] 0.860 1.19 [ 0.54, 2.46] 0.679 1.22 [0.46, 3.26] 0.660
Difference study group 3 1.27 [ 0.97, 1.63] 0.962 1.01 [ 0.78, 1.33] 0.540 0.33 [-0.11, 0.78] 0.934 0.38* [ 0.16, 0.89] 0.985 0.38 [0.12, 1.17] 0.953
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.53*** [ 1.36, 1.75] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily persuasion utilized (partner’s view) 1.32*** [ 1.18, 1.49] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure experienced 0.82 [ 0.58, 1.14] 0.898 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure utilized (partner’s view) 1.49* [ 1.06, 2.27] 0.988 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing experienced 1.73*** [ 1.29, 2.45] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing utilized (partner’s view) 1.82*** [ 1.47, 2.39] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Day 0.81 [ 0.56, 1.16] 0.857 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Actionplan NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Is a Weekend 1.10 [ 0.93, 1.31] 0.871 NA NA NA NA NA NA NA NA NA NA NA NA
Hu JITAI received 0.68*** [ 0.54, 0.84] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention 1.18 [ 0.89, 1.56] 0.874 NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.19 [ 0.53, 2.58] 0.658 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean persuasion utilized (partner’s view) 1.16 [ 0.53, 2.57] 0.647 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure experienced 0.32* [ 0.13, 0.75] 0.994 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure utilized (partner’s view) 0.61 [ 0.26, 1.50] 0.870 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing experienced 2.72 [ 0.86, 8.22] 0.957 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing utilized (partner’s view) 2.79 [ 0.90, 8.59] 0.961 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 2 0.58 [ 0.30, 1.15] 0.936 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 0.98 [ 0.51, 1.90] 0.525 NA NA NA NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.31 [0.23, 0.42] NA 0.31 [0.24, 0.41] NA 0.56 [0.45, 0.74] NA 0.66 [0.25, 1.15] NA 1.09 [0.63, 1.70] NA
sd(Hurdle Intercept) 0.88 [0.68, 1.19] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Daily persuasion experienced) 0.12 [0.08, 0.18] NA 0.05 [0.02, 0.09] NA 0.04 [0.00, 0.10] NA 0.17 [0.01, 0.43] NA 0.21 [0.01, 0.51] NA
sd(Daily persuasion utilized (partner’s view)) 0.09 [0.05, 0.13] NA 0.06 [0.03, 0.09] NA 0.07 [0.01, 0.13] NA 0.21 [0.01, 0.51] NA 0.48 [0.12, 0.96] NA
sd(Daily pressure experienced) 0.07 [0.00, 0.24] NA 0.04 [0.00, 0.14] NA 0.07 [0.00, 0.25] NA 0.56 [0.08, 1.12] NA 1.10 [0.09, 2.34] NA
sd(Daily pressure utilized (partner’s view)) 0.06 [0.00, 0.18] NA 0.03 [0.00, 0.11] NA 0.08 [0.00, 0.27] NA 0.38 [0.02, 1.54] NA 0.76 [0.04, 2.61] NA
sd(Daily pushing experienced) 0.10 [0.03, 0.18] NA 0.07 [0.01, 0.15] NA 0.04 [0.00, 0.14] NA 0.22 [0.02, 0.53] NA 0.24 [0.01, 0.61] NA
sd(Daily pushing utilized (partner’s view)) 0.08 [0.01, 0.16] NA 0.03 [0.00, 0.10] NA 0.06 [0.00, 0.16] NA 0.14 [0.01, 0.56] NA 0.23 [0.01, 0.87] NA
sd(Hu Daily persuasion experienced) 0.17 [0.02, 0.34] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily persuasion utilized (partner’s view)) 0.16 [0.02, 0.33] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure experienced) 0.25 [0.01, 0.84] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure utilized (partner’s view)) 0.29 [0.02, 1.01] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing experienced) 0.62 [0.33, 1.05] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing utilized (partner’s view)) 0.30 [0.05, 0.64] NA NA NA NA NA NA NA NA NA NA NA NA NA
Additional Parameters
sigma 0.68 [0.66, 0.71] NA 0.57 [0.56, 0.59] NA 0.96 [0.94, 0.98] NA NA NA NA NA NA NA
report::report_system()

Analyses were conducted using the R Statistical language (version 4.4.1; R Core Team, 2024) on Windows 11 x64 (build 22635)

report::report_packages()
  • beepr (version 2.0; Bååth R, 2024)
  • R.methodsS3 (version 1.8.2; Bengtsson H, 2003)
  • R.oo (version 1.27.0; Bengtsson H, 2003)
  • R.utils (version 2.12.3; Bengtsson H, 2023)
  • brms (version 2.22.0; Bürkner P, 2017)
  • digest (version 0.6.37; Eddelbuettel D, 2024)
  • Rcpp (version 1.0.13.1; Eddelbuettel D et al., 2024)
  • bayesplot (version 1.11.1; Gabry J, Mahr T, 2024)
  • lubridate (version 1.9.3; Grolemund G, Wickham H, 2011)
  • DHARMa (version 0.4.7; Hartig F, 2024)
  • wbCorr (version 0.1.22; Küng P, 2023)
  • see (version 0.9.0; Lüdecke D et al., 2021)
  • tibble (version 3.2.1; Müller K, Wickham H, 2023)
  • R (version 4.4.1; R Core Team, 2024)
  • openxlsx (version 4.2.7.1; Schauberger P, Walker A, 2024)
  • ggplot2 (version 3.5.1; Wickham H, 2016)
  • forcats (version 1.0.0; Wickham H, 2023)
  • stringr (version 1.5.1; Wickham H, 2023)
  • rvest (version 1.0.4; Wickham H, 2024)
  • tidyverse (version 2.0.0; Wickham H et al., 2019)
  • readxl (version 1.4.3; Wickham H, Bryan J, 2023)
  • dplyr (version 1.1.4; Wickham H et al., 2023)
  • purrr (version 1.0.2; Wickham H, Henry L, 2023)
  • readr (version 2.1.5; Wickham H et al., 2024)
  • xml2 (version 1.3.6; Wickham H et al., 2023)
  • tidyr (version 1.3.1; Wickham H et al., 2024)
  • knitr (version 1.49; Xie Y, 2024)
  • kableExtra (version 1.4.0; Zhu H, 2024)
report::cite_packages()